<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Softwarekomponente</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Softwarekomponente"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Softwarekomponente rootpage-Softwarekomponente skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Softwarekomponente</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Eine <b>Komponente</b> ist im Kontext der <a href="Softwarearchitektur" title="Softwarearchitektur">Softwarearchitektur</a> ein Teil einer <a href="Software" title="Software">Software</a>, der mit anderen Softwareteilen gemäß den Regeln eines <a href="Komponentenmodell" title="Komponentenmodell">Komponentenmodells</a> zusammenwirken kann.
</p>
<div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2></div>
<p>Das Wort Komponente leitet sich vom <a href="Latein" title="Latein">lateinischen</a> <i>componere</i> (<i>zusammensetzen</i>) ab. In der <a href="Softwaretechnik" title="Softwaretechnik">Softwaretechnik</a> wird der Komponentenbegriff jedoch inhaltlich unterschiedlich verwendet. Oft wird damit fälschlicherweise ein Software-<a href="Modul_(Software)" title="Modul (Software)">Modul</a> bezeichnet, was die Ähnlichkeit beider Begriffe verdeutlicht (siehe Kapitel <i><a href="Komponente_(Software)#Komponenten-Schnittstellen" class="mw-redirect" title="Komponente (Software)">Komponenten-Schnittstellen</a></i>).
</p><p>1996 wurde die Softwarekomponente bei der European Conference on Object-Oriented Programming (ECOOP) folgendermaßen definiert:
</p>
<div class="Vorlage_Zitat" style="margin:1em 40px;">
<div style="margin:1em 0;"><blockquote lang="en" style="margin:0;">
<p>“A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.”
</p>
</blockquote>
<blockquote style="margin:.5em 0 0 0;" lang="de-Latn">
<p>„Eine Softwarekomponente ist ein Element des Zusammenbaus mit vertraglich festgelegten Schnittstellen und ausschließlich expliziten Kontextabhängigkeiten. Eine Softwarekomponente kann unabhängig ausgeliefert werden und ist Baustein für Dritte.“<sup id="cite_ref-Szyperski2002_1-0" class="reference"><a href="#cite_note-Szyperski2002-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
</blockquote></div></div>
<p>Allgemeiner und im Zusammenhang mit dem neuen Konzept der <a href="Komponentenbasierte_Entwicklung" title="Komponentenbasierte Entwicklung">komponentenbasierten Entwicklung</a> wird eine Komponente beispielsweise folgendermaßen definiert:
</p>
<div class="Vorlage_Zitat" style="margin:1em 40px;">
<div style="margin:1em 0;"><blockquote style="margin:0;">
<p>„Eine Software-Komponente ist ein Software-Element, das konform zu einem Komponentenmodell ist und gemäß einem <a href="Composition-Standard" title="Composition-Standard">Composition-Standard</a> ohne Änderungen mit anderen Komponenten verknüpft und ausgeführt werden kann.“<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
</blockquote>
</div></div>
<p>Eine Komponente zeichnet sich also dadurch aus, dass sie ein Element einer komponentenbasierten Anwendung darstellt und definierte Schnittstellen zur Verbindung mit anderen Komponenten besitzt. Die genaue Form einer Komponente ist abhängig vom jeweiligen <a href="Komponentenmodell" title="Komponentenmodell">Komponentenmodell</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Komponenten-Schnittstellen">Komponenten-Schnittstellen</h2></div>
<p>Das Interface der Komponente ist eine verbindliche <i><a href="Schnittstelle" title="Schnittstelle">Schnittstelle</a></i> (<i>Interface</i>) zum Rest der Software. Die Schnittstelle kann daher mit einem Vertrag zwischen der Komponente und dem Rest der <a href="Software" title="Software">Software</a> verglichen werden. Durch die explizite Definition der Kontextabhängigkeiten wird deutlich, wie unabhängig eine Komponente tatsächlich von ihrer Umgebung ist.
</p><p>Die Schnittstellen und die wohldefinierten Kontextbedingungen ermöglichen die <a href="Wiederverwendbarkeit" title="Wiederverwendbarkeit">Wiederverwendung</a> der Komponente. Je geringer die Kontextabhängigkeiten einer Komponente sind, desto weniger Anforderungen müssen für den Einsatz einer Komponente erfüllt werden. Daraus folgt: je weniger Abhängigkeiten, desto einfacher ist die Wiederverwendung. Zugleich ermöglichen die geringen Abhängigkeiten eine entsprechend unabhängige Pflege und Entwicklung der Komponente. Andererseits führt die Unabhängigkeit der Komponenten dazu, dass diese Redundanzen beinhalten. Der Entwickler einer Komponente muss daher einen Kompromiss finden.
</p><p>Die Schnittstelle kann mit einem Vertrag zwischen der Komponente und dem Rest der Software verglichen werden. Ein Interface definiert daher, wie eine Komponente wieder verwendet werden kann. Zugleich definiert sie, wie andere Komponenten mit dieser Komponente interagieren können.
</p><p>Komponenten, die eine Software erweitern, werden in manchen Fällen auch als <i>Add-on</i>, <i><a href="Modul_(Software)" title="Modul (Software)">Modul</a></i> oder <i><a href="Plug-in" title="Plug-in">Plug-in</a></i> bezeichnet. Dabei ist zu beachten, dass dies umgekehrt nicht notwendigerweise der Fall sein muss. So ist es beispielsweise möglich, eine Ansammlung von verschiedenen mathematischen Funktionen als Modul zu bezeichnen. Das Modul ist möglicherweise in seinen Funktionen unabhängig. Wenn es keine allgemein verbindliche Schnittstelle besitzt, genügt das Modul allerdings nicht den Anforderungen einer Komponente.
</p><p>Schnittstellen können in verschiedene Typen unterschieden werden. Beispiele unterschiedlicher Sorten von Schnittstellen sind:
</p>
<ul><li><a href="Grafische_Benutzeroberfl%C3%A4che" title="Grafische Benutzeroberfläche">Grafische Benutzeroberfläche</a> (GUI), auch human machine interface (HMI) genannt: Gestattet eine Interaktion der Komponente mit dem Benutzer durch eine grafische Benutzeroberfläche. Sie wird beispielsweise über die Maus oder den Bildschirm bedient.</li>
<li><a href="Kommandozeile" title="Kommandozeile">Kommandozeile</a> (CLI): Insbesondere dann von Interesse, wenn Komponenten ohne Zutun des Benutzers durch das System aufgerufen werden sollen, beispielsweise, um in periodischen Abständen immer wiederkehrende Aufgaben abzuarbeiten. Eine solche Schnittstelle wird durch Eingabe von Befehlen in eine Kommandozeile angesprochen.</li>
<li>Daten-<a href="Schnittstelle" title="Schnittstelle">Schnittstellen</a>: Erlauben das Ein- und Auslesen von Daten der Komponente. Auf diese Schnittstelle wird programmintern zugegriffen.</li>
<li><a href="Programmierschnittstelle" title="Programmierschnittstelle">Programmierschnittstelle</a> (API): Durch diese Schnittstelle ist es dem Programmierer und anderen Komponenten möglich, die von der Komponente angebotenen Funktionalitäten und Dienste durch Programmierbefehle anzusprechen. Soweit nicht anders angegeben wird mit Interface im Folgenden immer eine API gemeint sein.</li></ul>
<p>Eine Komponente kann verschiedene Schnittstellen desselben Typs besitzen. Dies kann beispielsweise nötig sein, um ein und dieselbe Komponente in verschiedene Systeme einzubinden. Dadurch werden die Möglichkeiten einer Wiederverwendung vergrößert.
</p>
<div class="mw-heading mw-heading2"><h2 id="Vorteil_und_Nutzen">Vorteil und Nutzen</h2></div>
<p>Komponentenentwicklung zielt auf Kostenreduktion sowie auf erhöhte Flexibilität in der <a href="Produktentwicklung" title="Produktentwicklung">Produktentwicklung</a>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Die Entwicklungskosten für Komponenten amortisieren sich durch ihre <a href="Wiederverwendbarkeit" title="Wiederverwendbarkeit">Wiederverwendung</a>. Umgekehrt wird die Software-Entwicklung durch den Einsatz von Komponenten beschleunigt, da sie im Idealfall nur im Zusammenfügen und Parametrieren von Komponenten besteht (vergleiche auch <a href="Modularit%C3%A4t" title="Modularität">Modularität</a>).
</p><p>Komponenten können fehlerhaft sein. Dies führt zu einer weiteren Forderung: Unabhängigkeit einer Komponente beinhaltet auch, dass die Komponente ihre möglichen Fehler selbst behandelt. Dadurch wird sie zu einer abgeschlossenen Einheit.<sup id="cite_ref-S1999_4-0" class="reference"><a href="#cite_note-S1999-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Im Fehlerfall ist der Fehler so leichter zu lokalisieren. Eine Ausnahme dieser Regel kann nur gemacht werden, wenn dieses Verhalten Teil des Schnittstellenvertrages ist. Dies führt dazu, dass ein Fehler in der Komponente nicht zu einem fehlerhaften Verhalten der ganzen Komponenten führt, da diese sich wie vertraglich festgelegt verhält.
Auch hierdurch werden Entwicklungskosten reduziert.
</p>
<div class="mw-heading mw-heading2"><h2 id="Wiederverwendungsformen">Wiederverwendungsformen</h2></div>
<p>Anhand der Wiederverwendungsform der Komponente kann diese wie folgt grob aufgeteilt werden:
</p>
<dl><dt>blackbox</dt>
<dd>Die Komponente wird als eine abgeschlossene Einheit in das zu entwickelnde System aufgenommen. Diese Komponente kann nicht verändert werden. Über ihren internen Aufbau und ihre Funktionsweise kann ebenfalls keine Aussage gemacht werden. Die Verwendung der Komponente geschieht ausschließlich auf Basis der definierten Schnittstellen und Spezifikationen der Komponente.</dd>
<dt>whitebox</dt>
<dd>Die Komponente wird als eine offene Einheit wiederverwendet. Das Wort offen beschreibt, dass die Einheit veränderbar ist. Sie kann an die neuen Anforderungen angepasst werden. Dazu ist ihr interner Aufbau einsehbar und somit analysierbar. Die Komponente wird daher als Softwarefragment betrachtet. Die Verwendung der Komponenten geschieht nicht ausschließlich auf Basis der definierten Schnittstellen, sondern auch durch das Analysieren der aktuellen Umsetzung dieser Komponente.</dd>
<dt>greybox</dt>
<dd>Die Zwischenformen von black- und whitebox.</dd></dl>
<div class="mw-heading mw-heading2"><h2 id="Komponenten_zur_Entwicklungszeit">Komponenten zur Entwicklungszeit</h2></div>
<p>Komponenten können beispielsweise in die <a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">Entwicklungsumgebung</a> integriert werden. Dann zeigen sie ihre Eigenschaften und ihr Verhalten bereits zur Entwicklungszeit.
Für den Programmierer ist dies ein großer Vorteil: Er sieht schon während des Programmierens,
wie die Komponente aussehen oder arbeiten wird.
</p>
<div class="mw-heading mw-heading3"><h3 id="Beispiel_einer_Komponentenpalette">Beispiel einer Komponentenpalette</h3></div>
<p>Erst durch das Verwenden von vorgefertigten Komponenten ist ein <a href="Rapid_Application_Development" title="Rapid Application Development">Rapid Application Development</a> möglich.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementierungen">Implementierungen</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Standards">Standards</h3></div>
<p>In der Software ist die Komponenten-Technologie in der Meinung Vieler ein Eckstein der Softwareentwicklung der nächsten Jahre.<sup id="cite_ref-S1999_4-1" class="reference"><a href="#cite_note-S1999-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Es koexistieren verschiedene Standards. Abgesehen von <a href="Common_Object_Request_Broker_Architecture" title="Common Object Request Broker Architecture">CORBA</a> sind diese Standards im Allgemeinen programmiersprachen-, anwendungs- oder plattformspezifisch. Sie bilden so genannte Komponentenwelten oder -märkte. Beispiele solcher Welten sind:
</p>
<ul><li><a href="Microsoft" title="Microsoft">Microsoft</a> (<a href=".Net-Framework" title=".Net-Framework">.Net-Framework</a>, <a href=".NET_(Plattform)" title=".NET (Plattform)">.NET</a>, <a href="Component_Object_Model" title="Component Object Model">COM</a>, <a href="Distributed_Component_Object_Model" title="Distributed Component Object Model">DCOM</a>, <a href="Object_Linking_and_Embedding" title="Object Linking and Embedding">OLE</a>, <a href="ActiveX" title="ActiveX">ActiveX</a>, COM+)</li>
<li><a href="Object_Management_Group" title="Object Management Group">Object Management Group</a> (<a href="Common_Object_Request_Broker_Architecture" title="Common Object Request Broker Architecture">CORBA</a>)</li>
<li><a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> (<a href="JavaBeans" title="JavaBeans">JavaBeans</a>, <a href="Servlet" class="mw-redirect" title="Servlet">Servlets</a>, <a href="Java-Applet" title="Java-Applet">Applets</a>, <a href="Enterprise_JavaBeans" class="mw-redirect" title="Enterprise JavaBeans">Enterprise JavaBeans</a>)</li>
<li>OSGi Alliance (<a href="OSGi" title="OSGi">OSGi</a>)</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Entwicklungswerkzeuge">Entwicklungswerkzeuge</h3></div>
<p>Für komponentenbasierte Entwicklungen gibt es spezielle <a href="Integrierte_Entwicklungsumgebung" title="Integrierte Entwicklungsumgebung">Entwicklungsumgebungen</a> und <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a>, wie zum Beispiel:
</p>
<ul><li>Advanced Component Framework</li>
<li><a href="BlackBox_Component_Builder" title="BlackBox Component Builder">BlackBox Component Builder</a></li>
<li><a href="Component_Pascal" title="Component Pascal">Component Pascal</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Olaf Zwintzscher: Software-Komponenten im Überblick, W3L, 2004, ISBN 3937137602</li>
<li>Clemens Szyperski: Component Software - Beyond Object-Oriented Programming, Second Edition, 2002, ISBN 0-201-74572-0</li>
<li>M. D. McIlroy: <cite style="font-style:italic">Mass produced software components</cite>. In: <cite style="font-style:italic">Software Engineering, Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968</cite>. 1969, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>138–155</span> (<a rel="nofollow" class="external text" href="https://www.cs.dartmouth.edu/~doug/components.txt">txt</a>).<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:Softwarekomponente&rft.atitle=Mass+produced+software+components&rft.au=M.+D.+McIlroy&rft.btitle=Software+Engineering%2C+Report+on+a+conference+sponsored+by+the+NATO+Science+Committee%2C+Garmisch%2C+Germany%2C+7th+to+11th+October+1968&rft.date=1969&rft.genre=book&rft.pages=138-155" style="display:none"> </span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */
.mw-parser-output .webarchiv-memento a{color:inherit}
/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121030105450/http://www.voelter.de/conferences/index/detail-1572300803.html">Components, Remoting Middleware and Webservices – how it all fits together</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> vom 30. Oktober 2012 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) (englische Präsentation)</li>
<li><a rel="nofollow" class="external text" href="http://www.syntropy.co.uk/umlcomponents/umlcsupport.htm">UML Components</a> Gute Einführung in Komponentendesign für Applikationskomponenten</li>
<li><a rel="nofollow" class="external text" href="http://www.schwinkendorf.info/Diplomarbeit-Webservices-als-Komponenten.pdf">Webservices als Komponenten</a> Diplomarbeit zum Thema Software-Komponenten bei Webanwendungen (PDF-Datei; 2,16 MB)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Quellen">Quellen</h2></div>
<ol class="references">
<li id="cite_note-Szyperski2002-1"><span class="mw-cite-backlink"><a href="#cite_ref-Szyperski2002_1-0">↑</a></span> <span class="reference-text">Clemens Szyperski: Component Software - Beyond Object-Oriented Programming, Second Edition, 2002, ISBN 0-201-74572-0, S. 41</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text">William T. Councill, George T. Heineman: <i>Component-Based Software Engineering</i>. Addison-Wesley, 2001, ISBN 0-201-70485-4</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">Dumke, Reiner: <i>Software Engineering</i>. Friedr. Vieweg & Sohn Verlagsgesellschaft/GWV Fachverlage GmbH, 4. Auflage, Wiesbaden 2003.</span>
</li>
<li id="cite_note-S1999-4"><span class="mw-cite-backlink">↑ <sup><a href="#cite_ref-S1999_4-0">a</a></sup> <sup><a href="#cite_ref-S1999_4-1">b</a></sup></span> <span class="reference-text">Snoopy; Müller, Martin (Deutsche Übersetzung): <a rel="nofollow" class="external text" href="https://web.archive.org/web/20200202084733/https://www.oreilly.de/german/freebooks/os_tb/toc.html"><i>Open Source – kurz & gut.</i></a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */
.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}
/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=https%3A%2F%2Fwww.oreilly.de%2Fgerman%2Ffreebooks%2Fos_tb%2Ftoc.html">Originals</a></span> vom 2. Februar 2020 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span> <b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/https://www.oreilly.de/german/freebooks/os_tb/toc.html">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="https://www.oreilly.de/german/freebooks/os_tb/toc.html">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/www.oreilly.de</span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-03-17" href="https://de.wikipedia.org/wiki/?title=Softwarekomponente&oldid=254295726">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>